import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/Home.vue'
import Welcome from '../components/Welcome.vue'
import Users from '../components/user/Users.vue'
Vue.use(VueRouter)

const router = new VueRouter({
    routes: [
        // 重定向路由login
        { path: '/', redirect: 'login' },
        { path: '/login', component: Login },
        {
            path: '/home',
            component: Home,
            redirect: '/welcome',
            children: [
                { path: '/welcome', component: Welcome },
                { path: '/users', component: Users }
            ]
        }
    ]
});
// 路由导航守卫
router.beforeEach((to, from, next) => {
    // 1. to将访问的路径
    // 2. from代表从那个路径跳转而来
    // 3. next是一个函数，表示放行
    // 4. next() 放行 next('/login')  强制登录
    if (to.path === '/login') return next();
    // 获取 token
    const tokenStr = window.sessionStorage.getItem('token');
    // 如果不存在直接强制跳转到登录页
    if (!tokenStr) return ('/login');
    // 存在就放行
    next()
});
// 暴露路由对象
export default router